/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package cl.dfg.twittersneps;
import java.io.*;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import edu.buffalo.sneps.JavaSnepsAPI;

/**
 *
 * @author Guillermo
 */
public class TwittersnepsThreads {


    static JavaSnepsAPI api;

    public TwittersnepsThreads() throws IOException {

        boolean continuar = true;
        File file=new File("kb.sneps");

        //Datos de conexión API SNePs
        api = new JavaSnepsAPI("D:/dev/Sneps-2.7.0-Windows/JavaSnepsAPI/java_sneps_config.config",5668);

        if(!api.isConnected()){
            System.out.println("La conección ha fallado!!");
        }
        else{
            System.out.println("La conección ha sido Exitosa!!");
        }
        
               
        if (!file.exists()) {
        // It returns false if File or directory does not exist
            System.out.println("Comenzando con una KB vacía");
        }
        else{
        // It returns true if File or directory exists
            api.tell("^(sneps:innet \"kb.sneps\")");
            api.tell("^(sneps:lexin \"lexicon.lisp\")");
            System.out.println("Comenzando con una KB existente:" + file.exists());
        }

        //api.tell( "define-frame Isa (nil member class)");
        api.tell( "define-frame Tweet(when who where what support)");
        //Datos de conexión.
        TwitterStreamConfiguration tws = new TwitterStreamConfiguration("dcamposd", "majadaletin");
        MyTwitterHandler handler = new MyTwitterHandler();

        Collection<String> tracks = new ArrayList<String>();
        //Palabra clave a buscar.
        tracks.add("temblor");
        TwitterStream ts = TweetRiver.filter(tws, handler, null, tracks);
        (new Thread(ts)).start();


         while ( System.in.read() != '0') {
                
             //   (new Thread(ts)).interrupted();
               
            }

        ts.stop();

        api.tell("^(sneps:outnet \"kb.sneps\")");
        //api.endLispConnection();
            // api.tell("^(sneps:outnet \"segundo.lisp\")");
            //api.endLispConnection();
       
    }

}
